home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Sound Blastoff
/
Sound Blastoff.iso
/
Sound Utilities
/
PlayerPRO 4.4.2 (FAT)
/
Plugs
/
Restore 16bits BUG
/
Restore 16bits BUG.rsrc
/
CODE_1000_Restore 16bits.txt
next >
Wrap
Text File
|
1995-03-31
|
8KB
|
161 lines
# near model CODE resource
# this CODE claims to have no jump table entries (but starts at 600A)
00000000 434F chk.w D1, A7
00000002 4445 neg.w D5
00000004 03E8 0000 bset [A0 + 0x0], D1
00000008 48E7 E0C8 movem.l -[A7], D0,D1,D2,A0,A1,A4
0000000C 4EBA 00F2 jsr [PC + 0xF2 /* 00000100 */]
00000010 41FA FFEA lea.l A0, [PC - 0x16 /* FFFFFFFC */]
00000014 2008 move.l D0, A0
00000016 A055 syscall StripAddress
00000018 4EBA 0090 jsr [PC + 0x90 /* 000000AA */]
0000001C 4CDF 1307 movem.l D0,D1,D2,A0,A1,A4, [A7]+
00000020 4EFA 00F2 jmp [PC + 0xF2 /* 00000114 */]
fn00000024:
00000024 41FA FFD6 lea.l A0, [PC - 0x2A /* FFFFFFFC */]
00000028 D1FC 0000 016B add.l A0, 0x16B
0000002E 2008 move.l D0, A0
00000030 A055 syscall StripAddress
00000032 4E75 rts
fn00000034:
00000034 48E7 0600 movem.l -[A7], D5,D6
00000038 594F subq.w A7, 4
0000003A 206F 0010 movea.l A0, [A7 + 0x10]
0000003E 226F 0014 movea.l A1, [A7 + 0x14]
00000042 2C2F 0018 move.l D6, [A7 + 0x18]
00000046 1E98 move.b [A7], [A0]+
00000048 1F58 0001 move.b [A7 + 0x1], [A0]+
0000004C 1F58 0002 move.b [A7 + 0x2], [A0]+
00000050 1F58 0003 move.b [A7 + 0x3], [A0]+
00000054 2A17 move.l D5, [A7]
00000056 7400 moveq.l D2, 0x00
00000058 6044 bra +0x46 /* 0000009E */
label0000005A:
0000005A 1218 move.b D1, [A0]+
0000005C 1001 move.b D0, D1
0000005E 0240 0080 andi.w D0, 0x80
00000062 670C beq +0xE /* 00000070 */
00000064 D201 add.b D1, D1
00000066 1001 move.b D0, D1
00000068 4880 ext.w D0
0000006A 48C0 ext.l D0
0000006C D480 add.l D2, D0
0000006E 6028 bra +0x2A /* 00000098 */
label00000070:
00000070 1E81 move.b [A7], D1
00000072 1F58 0001 move.b [A7 + 0x1], [A0]+
00000076 1001 move.b D0, D1
00000078 0240 0040 andi.w D0, 0x40 /* '@' */
0000007C 670C beq +0xE /* 0000008A */
0000007E 3017 move.w D0, [A7]
00000080 E548 lsl D0.w, 2
00000082 E240 asr D0.w, 1
00000084 48C0 ext.l D0
00000086 D480 add.l D2, D0
00000088 600E bra +0x10 /* 00000098 */
label0000008A:
0000008A 1F58 0002 move.b [A7 + 0x2], [A0]+
0000008E 1F58 0003 move.b [A7 + 0x3], [A0]+
00000092 2417 move.l D2, [A7]
00000094 E58A lsl D2, 2
00000096 E282 asr D2, 1
label00000098:
00000098 DDB1 2800 add.l [A1 + D2], D6
0000009C 5385 subq.l D5, 1
label0000009E:
0000009E 4A85 tst.l D5
000000A0 6EB8 bgt -0x46 /* 0000005A */
000000A2 584F addq.w A7, 4
000000A4 4CDF 0060 movem.l D5,D6, [A7]+
000000A8 4E75 rts
fn000000AA:
000000AA 48E7 1020 movem.l -[A7], D3,A2
000000AE 2440 movea.l A2, D0
000000B0 202C 8000 move.l D0, [A4 - 0x8000]
000000B4 260A move.l D3, A2
000000B6 9680 sub.l D3, D0
000000B8 6740 beq +0x42 /* 000000FA */
000000BA 4A80 tst.l D0
000000BC 661C bne +0x1E /* 000000DA */
000000BE 422C 8004 clr.b [A4 - 0x7FFC]
000000C2 303C A89F move.w D0, 0xA89F
000000C6 A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
000000C8 2F08 move.l -[A7], A0
000000CA 303C A198 move.w D0, 0xA198
000000CE A346 syscall GetOSTrapAddress, flags=3
000000D0 B1DF cmpa.l A0, [A7]+
000000D2 56C0 sne D0
000000D4 4400 neg.b D0
000000D6 1940 8004 move.b [A4 - 0x7FFC], D0
label000000DA:
000000DA 2F03 move.l -[A7], D3
000000DC 2F0A move.l -[A7], A2
000000DE 4EBA FF44 jsr [PC - 0xBC /* 00000024 */]
000000E2 2F00 move.l -[A7], D0
000000E4 4EBA FF4E jsr [PC - 0xB2 /* 00000034 */]
000000E8 4FEF 000C lea.l A7, [A7 + 0xC]
000000EC 294A 8000 move.l [A4 - 0x8000], A2
000000F0 4A2C 8004 tst.b [A4 - 0x7FFC]
000000F4 6704 beq +0x6 /* 000000FA */
000000F6 7001 moveq.l D0, 0x01
000000F8 A198 syscall HWPriv, flags=1
label000000FA:
000000FA 4CDF 0408 movem.l D3,A2, [A7]+
000000FE 4E75 rts
fn00000100:
00000100 41FA FEFA lea.l A0, [PC - 0x106 /* FFFFFFFC */]
00000104 D1FC 0000 8166 add.l A0, 0x8166
0000010A 2008 move.l D0, A0
0000010C A055 syscall StripAddress
0000010E C18C exg D0, A4
00000110 4E75 rts
00000112 4E75 rts
label00000114:
00000114 48E7 1032 movem.l -[A7], D3,A2,A3,A6
00000118 2C6F 0014 movea.l A6, [A7 + 0x14]
0000011C 266F 0018 movea.l A3, [A7 + 0x18]
00000120 2456 movea.l A2, [A6]
00000122 2616 move.l D3, [A6]
00000124 200A move.l D0, A2
00000126 6604 bne +0x6 /* 0000012C */
00000128 7000 moveq.l D0, 0x00
0000012A 6028 bra +0x2A /* 00000154 */
label0000012C:
0000012C 7000 moveq.l D0, 0x00
0000012E 102B 002A move.b D0, [A3 + 0x2A]
00000132 5140 subq.w D0, 8
00000134 6706 beq +0x8 /* 0000013C */
00000136 5140 subq.w D0, 8
00000138 6706 beq +0x8 /* 00000140 */
0000013A 6016 bra +0x18 /* 00000152 */
label0000013C:
0000013C 7000 moveq.l D0, 0x00
0000013E 6014 bra +0x16 /* 00000154 */
label00000140:
00000140 7600 moveq.l D3, 0x00
00000142 6008 bra +0xA /* 0000014C */
label00000144:
00000144 0412 FF80 subi.b [A2], 0x80
00000148 528A addq.l A2, 1
0000014A 5283 addq.l D3, 1
label0000014C:
0000014C B6AB 0020 cmp.l D3, [A3 + 0x20]
00000150 6DF2 blt -0xC /* 00000144 */
label00000152:
00000152 7000 moveq.l D0, 0x00
label00000154:
00000154 4CDF 4C08 movem.l D3,A2,A3,A6, [A7]+
00000158 4E75 rts
0000015A 846D 6169 or.w D2, [A5 + 0x6169]
0000015E 6E00 0000 bgt +0x2 /* 00000160 */
// begin alternate branch 00000160-0000016A
label00000160:
00000160 0000 0000 ori.b D0, 0x0
00000164 0000 0000 ori.b D0, 0x0
00000168 0000 .incomplete
// end alternate branch 00000160-0000016A
label00000160: // (misaligned)
00000162 0000 0000 ori.b D0, 0x0
00000166 0000 0000 ori.b D0, 0x0
0000016A 00 .incomplete